Optical modules are critical components of a modern optical communication system, which generally include optical receiver modules, optical transmitter modules, optical transceiver modules, optical transponder modules and the like. As a typical example of the optical modules, the optical transceiver module, also referred to as an optical transceiver, generally includes an optical transmitting unit, an optical receiving unit, and a control circuit. With development of the optical communication technologies, most of the optical modules now have a digital diagnostic monitoring (DDM) function in order for the system to monitor and control operation state of the optical transmitting unit and the optical receiving unit of the optical module in real time and, in response to the operation status, take necessary measures to ensure the normal and stable operation of the communication system.
At present, there are many international standards that define specific details of the digital diagnostic monitoring function for various optical modules, such as SFF-8472 standard, SFF-8077i standard, SFF-8436 standard and the like. Among such standards, an I2C bus is adopted, which is a two-wire serial interface protocol and has slave addresses A0 and A2 corresponding to two EEPROM memories. Each EEPROM memory has an address space of 256 bytes, i.e., from 0x00 to 0xFF. A memory map for each EEPROM memory has been defined in a related international standard, which sets forth a detailed specification for each of the bytes 0-255. Taking the SFF-8472 standard as an example, the memory map for the A0 and A2 memory as defined in the standard is shown in the below Table 1. As shown, the bytes 0-127 of the slave address A0 are used to store identity information and parameters of the optical module, which are generally read-only, i.e., fixed or constant during operation of the optical module. The bytes 0-127 of the slave address A2 are used to store digital diagnostic and monitoring data, in which bytes 0-55 relate to alarming and warning thresholds, bytes 56-95 relate to calibration factors, and bytes 96-119 relate to real-time diagnostic data and state and control data.
With wide applications and performance improvements of the optical modules, the traditional memory map cannot meet requirements of current applications. Accordingly, the SFF-8472 standard has upgraded the memory map by introducing a concept of extension tables (also referred to as extension pages). In particular, the byte 127 of the slave address A2 is defined as a table selection byte, which can be used to select at most 28=256 tables, and each table has a size of 128 bytes. Depending on the value of the byte 127, tables 0-255 can be selectively mapped to the memory addresses 128-255 of the slave address A2.
TABLE 12 wire Address 1010000X (A0h)2 wire Address 1010001X(A2h)Data AddressDescriptionData AddressDescription 0-95Serial ID defined by 0-55Alarming and warningSFP MSA (96 bytes)thresholds (56 bytes)56-95Calibration factors(40 bytes) 96-127Vendor Specific  96-119Real-time Diagnosis (32 bytes)Interface (24 bytes)120-127Vendor Specific (8 bytes)128-255Reserved, SFF8079128-247User Writable (128 bytes)EEPROM (120 bytes)248-255Vendor Specific (8 bytes)